Wireless technologies continue to evolve, mostly driven by the need for reliable higher data rates. One example of this evolution is the next generation of the Third Generation Partnership Project (3GPP) wireless standard known as Long Term Evolution (LTE). Although the current description discusses LTE in detail, the hardware, software, methods, and systems described herein could be used in other wireless settings such as in without limitation, High Speed Downlink Packet Access (HSDPA) systems or WiMAX IEEE 802.x standards.
Network coding allows a relay node (RN) to reduce the air interface utilization by one time slot because upon receipt of packets from two end nodes (ENs), the RN creates a single m-bit packet p that may be obtained as a bit-wise XOR of the received packets. RN then forwards p to both ENs, EN1 and EN2. EN1 recognizes p1 sent by EN1 and therefore, upon reception of p, EN1 bit-wise XORs p1 and p that results in p2 sent by EN2. EN2 obtains p1 from p2 and p in the same way. This approach to network coding provides air interface savings in relaying data but the above example ignores several issues that may arise during real-world transmission. Moreover, these issues are not adequately addressed in the art today.
First issue: Different packet sizes. The packets p1 and p2 that EN1 and EN2 transmit are often different sizes, thus the bit-wise XOR operation is not well defined in this case and may lose much of the efficiency apparent in the simple example above.
Second issue: Different transmission rates. EN1 and EN2 often transmit at different packet rates. For example, if EN1 is transmitting at a higher rate, not all of EN1's packets can be network coded—there are simply more of EN1's packets at the RN than EN2's packets. Depending on latency constraints, the scheduler may be able to cause same time transmission. There is a penalty because—especially during Below Rooftop (BRT) deployment—it must then give up some opportunistic gain. In this situation, if the number of bits is different, the gain from network coding diminishes. When relay is used herein, such a relay is preferentially (but not necessarily) part of network infrastructure. For such a relay, it is common to distinguish between a deployment below or above the roof top lines (abbreviated as BRT and ART respectively) since the wireless signal propagation differs significantly between the two cases.
Third issue: Buffer overuse. The transmitter discards a packet once it receives an acknowledgement of its reception by a receiver. For example, when EN1 sends p1 to RN, EN1 discards p1 either upon receiving an ACK from RN, or upon transmission (if the operation is unacknowledged). In order to perform decoding of network coding packets, however, transmitted packets p1 and p2 need to be kept in buffers by EN1 and E2. This introduces additional burden on the MAC that manages the buffer and also overly taxes resources with increased buffer size.
Fourth issue: Packet transmission times are not synchronized. Thus, a transmitter EN does not implicitly know which of its transmitted packets were combined into a network coded packet at the relay node RN. There needs to be a method for the RN to indicate to each EN that it network-encoded the EN's packet. This issue is related to the previous one because this packet must still be in the MAC buffer at the time that a network coded packet is received. Otherwise, network decoding will fail.
Fifth issue: Addressing of noisy channels and Hybrid Automatic Repeat reQuest (HARQ). For example, consider the case that a network-coded packet is not received by one of the intended ENs. The appropriate corrective action requires a different network coding operation at the RN as the EN that has received the packet no longer needs a re-transmission.
Sixth issue: While network coding is traditionally achieved using bit-wise XOR, in this case such an operation may be sub-optimal as it fails to take full advantage of the opportunities provided by operating in the Physical Layer of the communication system. Thus, a more sophisticated approach to network coding is desired.
Hence, what is needed is a method and related apparatus that addresses the obstacles and issues.